/* 菜单管理接口模块 */
import httpInstance from '@/utils/http'
/* TS类型 */
import type { resAllPermission, permissionData } from './menuTypes'
/* 统一管理菜单接口地址 */
enum API {
  /* 获取全部菜单与按钮的标识数据 */
  ALLPERMISSTION_URL = '/admin/acl/permission',
  /* 给某一级菜单新增一个子菜单 */
  ADDMENU_URL = '/admin/acl/permission/save',
  /* 更新某一个已有的菜单 */
  UPDATE_URL = '/admin/acl/permission/update',
  /* 删除已有的菜单 */
  DELETEMENU_URL = '/admin/acl/permission/remove/',
}
/* 获取全部菜单与按钮的标识数据 */
export const reqAllPermissionMenuAPI = () => {
  return httpInstance.get<any, resAllPermission>(API.ALLPERMISSTION_URL)
}
/* 给某一级菜单新增一个子菜单 || 修改已有菜单 */
export const reqAddOrUpdataMenu = (data: permissionData) => {
  /* 判断data是否有id 有的话就发起修改请求 没有的话就发起添加请求 */
  if (data.id) {
    /* 修改请求 */
    return httpInstance.put<any, any>(API.UPDATE_URL, data)
  } else {
    /* 添加请求 */
    return httpInstance.post<any, any>(API.ADDMENU_URL, data)
  }
}
/* 删除已有的菜单 */
export const reqDeletpermissionAPI = (id: number) => {
  return httpInstance.delete<any, any>(API.DELETEMENU_URL + id)
}
